const router = require('express').Router();
const itemModel = require('../model/collections/item');
const dayjs = require('dayjs');
// 商品列表
router.get('/itemLists',async  (req, res) => {
  // 传 page pageSize
  let { page = 1, pageSize = 2 } = req.query;
  page = parseInt(page);
  pageSize = parseInt(pageSize)
  const items = await itemModel.find().limit(pageSize).skip((page-1)*pageSize).sort({_id: -1})
  // 总条数
  const total =  await itemModel.count();
  res.render('itemLists', {
    items,
    total,
    page
  })
})
// 增加商品页
router.get('/itemAdd', (req, res) => {
  res.render('itemAdd')
})
// 更新商品页
router.get('/itemUpdate', (req, res) => {
  // 根据商品id获取商品详情数据
  itemModel.findById(req.query._id).then(item => {
    res.render('itemUpdate', {
      item
    })
  }).catch(err => {
    res.render('itemUpdate', {
      item: {}
    })
  })
  
})

// 新增商品路由
router.post('/itemAdd', (req, res) => {
  itemModel.insertMany({
    ...req.body,
    createAt:dayjs().format('YYYY-MM-DD hh:mm:ss')
  }).then(ret => {
    res.send({
      code: 200,
      msg: '新增成功'
    })
  }).catch(err => {
    res.send({
      code: 400,
      msg: '新增失败'
    })
  })
})
// 删除商品
router.delete('/delItem', (req, res) => {
  const { _id } = req.query;
 
  itemModel.deleteOne({
    _id
  }).then(ret => {
    res.send({
      code: 200,
      msg: '删除成功'
    })
  }).catch(err => {
    res.send({
      code: 400,
      msg: '删除失败'
    })
  })
})
// 更新商品
router.put('/updateItem', (req, res)=> {
  itemModel.updateOne(
    {
      _id: req.body._id
    },
    req.body
  ).then(ret => {
    res.send({
      code: 200,
      msg: '修改成功'
    })
  }).catch(err=> {
    res.send({
      code: 400,
      msg: '修改失败'
    })
  })
})
module.exports = router;